<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  osg::Statistics</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  <A HREF="#DOC.DOCU">osg::Statistics</A></H2></H2><BLOCKQUOTE> Statistics base class.</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="CPrimitiveFunctor,MPrimitiveFunctor.html,CReferenced,MReferenced.html,CStatistics,MStatistics.html">
<param name=before value="M,M,M">
<param name=after value="Ml_,MD_,M">
<param name=indent value="0,0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.121.23">numOpaque</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int  <B><A HREF="#DOC.2.121.24">nummat</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int   <B><A HREF="#DOC.2.121.25">nbins</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.121.26">nlights</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.121.27">depth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.121.28">_binNo</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Statistics.html#DOC.2.121.3">statsType</A> <B><A HREF="#DOC.2.121.29">stattype</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.121.30">nimpostor</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.121.31">_vertexCount</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>PrimtiveValueMap <B><A HREF="#DOC.2.121.32">_primitiveCount</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.121.33">_currentPrimtiveFunctorMode</A></B>
</DL></P>

<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::map&lt;GLenum,PrimitivePair&gt; PrimtiveValueMap <B><A HREF="#DOC.2.121.1">Statistics</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.121.2">~Statistics</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.4">reset</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.5">setType</A></B>(<!1><A HREF="Statistics.html#DOC.2.121.3">statsType</A> <!1><A HREF="ImpostorSprite.html#DOC.2.60.25">t</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.6">setVertexArray</A></B>(unsigned int count, <!1><A HREF="Vec3.html">Vec3</A>*)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.7">drawArrays</A></B>(GLenum mode, GLint, GLsizei count)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.8">drawElements</A></B>(GLenum mode, GLsizei count, GLubyte*)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.9">drawElements</A></B>(GLenum mode, GLsizei count, GLushort*)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.10">drawElements</A></B>(GLenum mode, GLsizei count, GLuint*)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.11">begin</A></B>(GLenum mode)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.12">vertex</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp;)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.13">vertex</A></B>(float, float, float)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.121.14">end</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.15">addOpaque</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.16">addMatrix</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.17">addLight</A></B>(const int np)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.18">addImpostor</A></B>(const int np)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.121.19">getBins</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.20">setDepth</A></B>(const int d)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.21">addBins</A></B>(const int np)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.121.22">setBinNo</A></B>(const int n)
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.121.3">statsType</A></B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref_nodelete</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="PrimitiveFunctor.html">PrimitiveFunctor</A>:</H3>
<DL>
</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>
Statistics base class. Used to extract primitive information from 
the renderBin(s).  Add a case of getStats(osgUtil::Statistics *stat)
for any new drawable (or drawable derived class) that you generate 
(eg see Geometry.cpp).  There are 20 types of drawable counted - actually only
14 cases can occur in reality.  these represent sets of GL_POINTS, GL_LINES
GL_LINESTRIPS, LOOPS, TRIANGLES, TRI-fans, tristrips, quads, quadstrips etc
The number of triangles rendered is inferred:
each triangle = 1 triangle (number of vertices/3)
each quad = 2 triangles (nverts/2)
each trifan or tristrip = (length-2) triangles and so on.</BLOCKQUOTE>
<DL>

<A NAME="Statistics"></A>
<A NAME="DOC.2.121.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;GLenum,PrimitivePair&gt; PrimtiveValueMap Statistics()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~Statistics"></A>
<A NAME="DOC.2.121.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Statistics()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="statsType"></A>
<A NAME="DOC.2.121.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  statsType</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="STAT_NONE"></A>
<A NAME="DOC.2.121.3.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_NONE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_FRAMERATE"></A>
<A NAME="DOC.2.121.3.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_FRAMERATE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_GRAPHS"></A>
<A NAME="DOC.2.121.3.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_GRAPHS</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_PRIMS"></A>
<A NAME="DOC.2.121.3.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_PRIMS</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_PRIMSPERVIEW"></A>
<A NAME="DOC.2.121.3.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_PRIMSPERVIEW</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_PRIMSPERBIN"></A>
<A NAME="DOC.2.121.3.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_PRIMSPERBIN</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_DC"></A>
<A NAME="DOC.2.121.3.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_DC</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STAT_RESTART"></A>
<A NAME="DOC.2.121.3.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STAT_RESTART</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="reset"></A>
<A NAME="DOC.2.121.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setType"></A>
<A NAME="DOC.2.121.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setType(<!1><A HREF="Statistics.html#DOC.2.121.3">statsType</A> <!1><A HREF="ImpostorSprite.html#DOC.2.60.25">t</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setVertexArray"></A>
<A NAME="DOC.2.121.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setVertexArray(unsigned int count, <!1><A HREF="Vec3.html">Vec3</A>*)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="drawArrays"></A>
<A NAME="DOC.2.121.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void drawArrays(GLenum mode, GLint, GLsizei count)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="drawElements"></A>
<A NAME="DOC.2.121.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void drawElements(GLenum mode, GLsizei count, GLubyte*)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="drawElements"></A>
<A NAME="DOC.2.121.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void drawElements(GLenum mode, GLsizei count, GLushort*)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="drawElements"></A>
<A NAME="DOC.2.121.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void drawElements(GLenum mode, GLsizei count, GLuint*)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="begin"></A>
<A NAME="DOC.2.121.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void begin(GLenum mode)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="vertex"></A>
<A NAME="DOC.2.121.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void vertex(const <!1><A HREF="Vec3.html">Vec3</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="vertex"></A>
<A NAME="DOC.2.121.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void vertex(float, float, float)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="end"></A>
<A NAME="DOC.2.121.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void end()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addOpaque"></A>
<A NAME="DOC.2.121.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addOpaque()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addMatrix"></A>
<A NAME="DOC.2.121.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addMatrix()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addLight"></A>
<A NAME="DOC.2.121.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addLight(const int np)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addImpostor"></A>
<A NAME="DOC.2.121.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addImpostor(const int np)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getBins"></A>
<A NAME="DOC.2.121.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int getBins()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setDepth"></A>
<A NAME="DOC.2.121.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDepth(const int d)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addBins"></A>
<A NAME="DOC.2.121.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addBins(const int np)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setBinNo"></A>
<A NAME="DOC.2.121.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setBinNo(const int n)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="numOpaque"></A>
<A NAME="DOC.2.121.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int numOpaque</B></TT>
<DL><DT><DD></DL><P>
<A NAME="nummat"></A>
<A NAME="DOC.2.121.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  nummat</B></TT>
<DL><DT><DD></DL><P>
<A NAME="nbins"></A>
<A NAME="DOC.2.121.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int   nbins</B></TT>
<DL><DT><DD></DL><P>
<A NAME="nlights"></A>
<A NAME="DOC.2.121.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int nlights</B></TT>
<DL><DT><DD></DL><P>
<A NAME="depth"></A>
<A NAME="DOC.2.121.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int depth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_binNo"></A>
<A NAME="DOC.2.121.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _binNo</B></TT>
<DL><DT><DD></DL><P>
<A NAME="stattype"></A>
<A NAME="DOC.2.121.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Statistics.html#DOC.2.121.3">statsType</A> stattype</B></TT>
<DL><DT><DD></DL><P>
<A NAME="nimpostor"></A>
<A NAME="DOC.2.121.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int nimpostor</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_vertexCount"></A>
<A NAME="DOC.2.121.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _vertexCount</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_primitiveCount"></A>
<A NAME="DOC.2.121.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>PrimtiveValueMap _primitiveCount</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_currentPrimtiveFunctorMode"></A>
<A NAME="DOC.2.121.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _currentPrimtiveFunctorMode</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
